package com.bocloud.cmp.dao;

import com.bocloud.cmp.entity.resource.DataCenter;
import com.bocloud.cmp.entity.resource.NetworkDevice;
import com.bocloud.cmp.entity.resource.Rack;
import com.bocloud.cmp.entity.resource.Room;
import com.bocloud.cmp.entity.resource.SafetyDevice;
import com.bocloud.cmp.entity.resource.Server;
import com.bocloud.cmp.entity.resource.StorageDevice;

/**
 * 实体业务对象抽象DAO接口
 * 
 * @author wei wei
 * @version 1.0
 * @since 2016.04.01
 */
public interface BeanDetailDao {

	/**
	 * 查询数据中心业务信息
	 * 
	 * @param id
	 *            the data center id
	 * @return
	 * @throws Exception
	 */
	public DataCenter getDCBean(Long id) throws Exception;

	/**
	 * 查询机房业务信息
	 * 
	 * @param id
	 *            the room id
	 * @return
	 * @throws Exception
	 */
	public Room getRoomBean(Long id) throws Exception;

	/**
	 * 查询机柜业务信息
	 * 
	 * @param id
	 *            the rack id
	 * @return
	 * @throws Exception
	 */
	public Rack getRackBean(Long id) throws Exception;

	/**
	 * 查询服务器业务信息
	 * 
	 * @param id
	 *            the server id
	 * @return
	 * @throws Exception
	 */
	public Server getServerBean(Long id) throws Exception;

	/**
	 * 查询网络设备业务信息
	 * 
	 * @param id
	 * @return
	 * @throws Exception
	 */
	public NetworkDevice getNetworkDeviceBean(Long id) throws Exception;

	/**
	 * 查询存储设备业务信息
	 * 
	 * @param id
	 * @return
	 * @throws Exception
	 */
	public StorageDevice getStorageDeviceBean(Long id) throws Exception;

	/**
	 * 查询安全设备业务信息
	 * 
	 * @param id
	 * @return
	 * @throws Exception
	 */
	public SafetyDevice getSafetyDeviceBean(Long id) throws Exception;
}
